package com.mhkj.base.itemInfo.item.service;

import java.util.List;

import com.mhkj.base.itemInfo.item.entity.Item;
import com.mics.core.common.componet.Pagination;
import com.mics.core.system.base.service.BaseService;

public interface ItemService extends BaseService<Item>{

	/**
	 * 分页查询
	 */
	Pagination<Item> listByPage(Item item, int pageIndex, int size);
	/**
	 * 获取已经建立项目的城市
	 */
	List<Item> getProvinceWithItem();
	/**
	 * 通过公司id获取项目集合
	 * @param CompanyId
	 * @param status 项目状态
	 * @param itemName 项目名称
	 * @return
	 */
	List<Item> getListItemByaffiliatedCompanyId(String CompanyId, String itemName, Integer status);
	/**
	 * 获取城市下的所有项目
	 */
	List<Item> getItemWithCityId(Long provinceId,Long cityId);
	
	/**
	 * 获取已经建立项目对应的省下城市
	 * @param provinceId 
	 * @return
	 */
	List<Item> getCityWithProvince(Long provinceId);
	
	/**
	 * 通过公司id获取项目集合
	 * @param CompanyId
	 * @param status 项目状态
	 * @param itemName 项目名称
	 * @return
	 */
	List<Item> getListItem(String CompanyId, String itemName, Integer status,Long cityId,  Long provinceId);
	/**
	 * 同一个公司下不能有相同名称的项目
	 * @param affiliatedCompanyId
	 * @param name
	 * @return
	 */
	List<Item> checkItemName(String affiliatedCompanyId, String name);
	
	/**
	 * 给项目分配角色
	 * 
	 * @author mics
	 * @date 2018年9月2日
	 * @version 1.0
	 */
	void grantRole(Item item, String roleIds);
	
}
